description |
It is essential to evaluate the performance of newly developed
distributed software and network protocols. Network emulation
enables reproducible evaluation of unmodified real implementations.
Software built for distributed systems, such as a large scale
peer-to-peer system, requires evaluation scenarios with thousands of
communicating nodes. Two approaches for scaling network emulation to
such scenario sizes have been proposed in the literature: node
virtualization and time virtualization. Node virtualization allows
maximizing the utilization of standard hardware used for emulation
experiments. Time virtualization enables trading experiment duration
for virtually increased resources of the hardware. It stands to
reason that a combination of those two approaches may increase
scalability even further. However, in existing combinations, either
node virtualization implies relatively high overhead or time
virtualization requires modifications of the test subject
implementation.
In this paper, we present a novel hybrid approach called Time
Virtualized Emulation Environment (TVEE). It integrates node
virtualization with low overhead and time virtualization, which is
transparent to the execution of test subjects. We introduce virtual
time based on epochs to enable better dynamic hardware utilization
during long lasting experiments. Additionally, a mechanism similar
to soft timers ensures an accurate reproduction of network
properties in the time virtualized emulation. Our evaluations show
the accuracy and scalability of time virtualized network emulation.
Comparing TCP throughput, TVEE outperforms other approaches using an
event based virtual time by an order of magnitude.
|